# 1、输入要过生日的人的名字，唱生日歌给他听
# def happy_birthday(name):                             #todo:定义一个函数，参数是name
#     print(f"要过生日的是：{name}")                       #todo：输出过生日的人是谁
#     print(f"祝{name}生日快乐")                          #todo：输出过生日歌
#     print(f"祝{name}生日快乐")
#     print(f"祝{name}幸福祝{name}健康")
#     print(f"祝{name}前途光明")
#     print(f"祝{name}生日快乐")
#     print(f"祝{name}生日快乐")
#     print(f"祝{name}幸福祝{name}健康")
#     print(f"有个温暖家庭")
#     print(f"Happy birthday to {name}")
#     print(f"Happy birthday to {name}")
#     print(f"Happy birthday happy birthday")
#     print(f"Happy birthday to {name}")
#     print(f"Happy birthday to {name}")
#     print(f"Happy birthday to {name}")
#     print(f"Happy birthday happy birthday")
#     print(f"Happy birthday to {name}")
#     print(f"祝{name}生日快乐")
#     print(f"祝{name}生日快乐")
#     print(f"祝{name}幸福祝{name}健康")
#     print(f"祝{name}前途光明")
#     print(f"祝{name}生日快乐")
#     print(f"祝{name}生日快乐")
#     print(f"祝{name}幸福祝{name}健康")
#     print(f"有个温暖家庭")
# name = input("请输入要过生日人的名字")                   #todo：自己输入过生日人的姓名
# happy_birthday(name)                                 #todo：调用函数传入值为name
# 2、有这样的一个列表，深度不可知，但最多只会到二维数组，我想要把这个列表从左到右拼接成一个新的列表，且顺序不变
# new_list = []                                         #todo：定义一个全局变量
# def list_montage(list_):                              #todo：定义一个函数
#     global new_list                                   #todo：定义函数内可以修改new_list全局变量
#     for  i in list_:                                  #todo：循环每一个list_值
#         if isinstance(i,list):                        #todo：判断如果i是否为list类型
#             list_montage(i)                           #todo：递归调用函数，将list类型再分解
#         else:
#             new_list.append(i)                        #todo：如果i不是list类型传入new_list
#     return new_list                                   #todo：返回new_list
# input_list = [1,2,3,4,5,[1,2,3,4],[2,3,4,5]]
# print(list_montage(input_list))
# 3、接收n个数字，求这些参数数字的和
# def sum_number(*number_):                             #todo: 定义一个函数，通过元组的形式接收多个值
#     sum = 0                                           #todo：定义一个sum变量，用来计算总和
#     for  i in number_:                                #todo：循环遍历传入的numbe_值
#         sum +=i                                       #todo：计算总数
#     return f"总和为：{sum}"                             #todo：返回总和
#
# number_input = input("请输入您要判断的数字：中间用空格隔开").split()
# list_ = []
# try:                                                      #todo：定义一个try，如果输入的不是数字，会走except，输出您输入的不是数字
#     for  i in number_input:                               #todo：循环遍历输入的值
#         list_.append(int(i))                              #todo：将值转换成int类型，加入到列表
# except:
#     print("您输入的不是数字")
# print(sum_number(*list_))
# 4、输入任意个字符串,分别实现从小到大输出和从大到小输出
# def sort_string(str_):                              #todo：定义函数
#     list_ = []                                      #todo：定义一个空列表用来接收str_
#     new_list =[]                                    #todo：定义一个空列表用来返回从大到小的值
#     for i in str_:                                  #todo：for循环遍历str_的值，用i接收
#         list_.append(i)                             #todo：将i存入list_列表中
#         new_list.append(i)                          #todo:将i存入new_list列表中
#     list_.sort()                                    #todo：将list_中的值从小到大排序
#     new_list.sort(reverse=True)                     #todo：将new_list中的值从大到小排序
#     return f"从小到大：{list_}\n从大到小：{new_list}"   #todo:返回结果值
# string_input = input("请您输入您要排序的字符串：")       #todo：输入要判断的字符串
# print(sort_string(string_input))                    #todo：调用sort_string函数，传入string_input值
